fio 测试工具

您所在的位置:网站首页 fio 硬盘 fio 测试工具

fio 测试工具

2023-12-08 09:34| 来源: 网络整理| 查看: 265

一 何为fio

见官网:http://freshmeat.net/projects/fio/

总之就是一个磁盘io的测试工具,支持多引擎和多系统测试,非常灵活和强大。

二 安装

Linux:yum install libaio-devel  依赖包安装 解压tar包 然后make && make install

Windows:https://bluestop.org/fio/下载windows 安装包 .msi 结尾的

直接安装 下一步 下一步 就行。 安装完成后,cmd :fio –version 会有版本号

三 测试

先说下我测试的目的,mysql数据库有个参数需要知道磁盘的iops。主要目的就要准确的知道磁盘的iops。

什么是iops

即每秒进行读写(I/O)操作的次数Iops越高表示磁盘读(写)数据越快。不能设置,是出厂就已经定了的

Linux :centos7 虚拟机iSCSI 硬盘 (真实硬盘是希捷 移动硬盘)

测试命令:

fio -filename=a.txt -direct=1 -iodepth 1-thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test

  filename参数指定某个要测试的裸设备(硬盘或分区),不要在有数据的磁盘测试,linux一切接文件,设备也是文件表示。-filename=a.txt 大小500m 发现iops很高5000多

fio -directory=/test/ -direct=1 -iodepth 1-thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test

若一定要测试系统分区较为安全的方法是:在根目录下创建一个空目录,在测试命令中使用directory参数指定该目录,而不使用filename参数 -directory=/test/ 大小还是500m 结果变成了2700左右

fio -filename=/dev/sdb1 -direct=1 -iodepth1 -thread -rw=randrw -ioengine=psync -bs=16k -size=500M -numjobs=10 -runtime=10-group_reporting -name=test

拿出一个真正的磁盘/dev/sdb1 测试iops 400多,这个才是比较准确的值。因为我测试的硬盘是机性硬盘,一般都是几百。上面两个有的扯,不能准确反映磁盘的读写能力。至于原因,我认为Linux一切皆文件,fio 可能把我给的a.txt /test 当成一个磁盘了。

Windows:server 2008

r2 虚拟机 硬盘同上

命令:

E:\>fio -filename=a.txt -direct=1-iodepth=1 -thread -rw=randrw -ioengine=window

saio -bs=16k -size=5g -numjobs=10 -runtime=1000-group_reporting -name=test

E:\>fio -filename=E: -direct=1-iodepth=1 -thread -rw=randrw -ioengine=windowsai

o -bs=16k -size=500m -numjobs=10-runtime=1000 -group_reporting -name=mytest

在Windows 测试中测试fio 版本较新fio-3.13,发现-directory参数不能使用,每次测试都会生成一个-filename=$filename 文件名,并不毁坏数据,并且测试结果两次测试结果相差不多。平均都是500多。(分别是5g和500m)

另外,不论Linux合适Windows,测试完后不要忘了删除测试文件。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3